<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //使用字符串方法完成下面字符串的操作要求:
        // ① 要求将下面字串，以井号“#”作为分割拆分成数组，并遍历输出。
        // var str = "a.jpg#b.ppt#c.jpg#d.pdf#e.jpg#f.pdf#g.ppt#h.jpg#m.txt#n.ppt";

        // ② (挑战题)对上拆分好数组进行处理，使用字串方法获取每个文件名的后缀名,进行分类
        // 并将统计信息存放到一个对象中，具体输出结果如下：
        // {
        //     jpg:['a.jpg','c.jpg','e.jpg','h.jpg'],
        //     ppt:['b.ppt','g.ppt','n.ppt'],
        //     pdf:['d.pdf','f.pdf'],
        //     txt:['m.txt']
        // }

        let str = "a.jpg#b.ppt#c.jpg#d.pdf#e.jpg#f.pdf#g.ppt#h.jpg#m.txt#n.ppt#a.s.rm";
        // 声明一个空对象用于存放解析结果
        const data = { }
        // 将str字串使用#进行拆分
        const arr = str.split("#");
        // 遍历
        for(let s of arr){
            // 获取文件名字串s中最后一个点出现的位置
            let i = s.lastIndexOf(".");
            // 通过最后一个点出现的位置开始截取文件名的后缀名
            let ext = s.substring(i+1);
            // 判断data对象中是否不存ext（后缀名）属性
            if(data[ext] == undefined){
                // 为data对象添加ext属性，并初始值为空数组[]
                data[ext] = [];
            }
            //将s文件以ext为属性放到data对象中
            data[ext].push(s);
               
        }
        console.log(data);
        /*
        {
            jpg:[a.jpg,c.jpg,e.jpg],
            ppt:[b.ppt],
            pdf:[e.pdf]
        }
        */

        // let ob = new  Object();
        // let key = "age";
        // //ob.age = 20;
        // ob['age'] = 20;
        // ob[key] = 20;

    </script>
</body>
</html>